The present invention, in some embodiments thereof, relates to a security hash function for use with memristive technology.
Emerging nanoelectronic memristive technologies, such as Resistive RAM (ReRAM), Phase Change Memory (PCM), and Spin-Torque Transfer Magnetoresistive RAM (STT-MRAM), promise to provide an alternative to the ubiquitous CMOS technology, aiming to replace the conventional DRAM and Flash memories. No less important, the unique properties of memristors and their compatibility with the CMOS process make it possible to create conceptually new digital and analog circuits. CMOS compatibility, along with a combination of properties such as non-linearity, non-volatility and sensitivity to process variations, make this technology appealing for embedded security applications.
The memristor is a passive device that changes its resistance under an applied electrical current. Chua coined the term memristor where he speculated on the existence of a fourth passive element. Chua's memristor theory was linked to the resistive switching phenomenon and, since then the interest in memristor research, including security with memristors, has grown significantly. Several research groups reported on building security primitives with memristor technology. For example, true random number generators have been proposed, leveraging the stochastic properties of memristors and telegraph noise in resistive RAM.
Another important security primitive is the Physical Unclonable Function (PUF), which utilizes intrinsic process variations to generate a unique response to a challenge per device instance. Recently, several researchers suggested exploiting the unique characteristics of memristive devices to increase the entropy and sensitivity to process variations in PUFs. Conceptually new memristive PUF architectures have also been proposed. For example, a fabricated PUF device that comprises a memristive crossbar memory array has been proposed in which process-variation based differences between memristor resistance values serve as an entropy source. A memristive crossbar PUF that utilizes variations in memristor write time as well as the parasitic sneak path effect during read has also been proposed.
The secure hash function is a fundamental component of modern cryptography. It enables important security applications such as digital signature and integrity validation. The state of-the-art secure hash functions are based on mathematical algorithms, such as SHA, SHA-2, SHA-3 or MD5. Pure software implementations of these algorithms often fail to provide sufficient performance and security. Hence, hardware accelerators that use digital logic to implement the hash algorithms are commonly used. To construct a keyed-hash message authentication code (HMAC), the key is managed separately. In contrast to the classic approach, pure hardware implementations of secure hash functions utilize intrinsic properties of the hardware to create entropy. Few pure hardware hash implementations have been proposed, and those have been mainly based on chaotic systems. Intrinsic implementations of secure hash functions promise great improvement in power and area efficiency. However, they fail to provide sufficient robustness.